package com.wcar.product.service;

import com.wcar.common.entity.*;
import com.wcar.common.vo.Result;
import com.wcar.product.vo.ProductVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wcar.product.vo.ReviewCountVo;
import com.wcar.product.vo.SelectPeopleAndRatingVo;

import java.util.List;

public interface ProductService {
    Result<Page<Product>> list(ProductVo productVo);

    Result<Product> updateProduct(Product product);

    Result<Product> deleteByProductId(Integer productId);

    Result<Product> insertProduct(Product product);

    Result<List<Product>> selectAllProduct();

    Result<List<Product>> GetProductByTypeId(String proTypeId, String productName);

    Result<List<Product>> selectProductAndStoreNameByStoreId(String productName, Integer storeId);

    Result<List<Product>> selectProductAndStoreNameByProductName(String productName);

    Result<SelectPeopleAndRatingVo> selectStoreNameAndRatingByStoreName(String storeName);

    Result<List<ProductReviewImage>> selectProductImagesByProductId(Integer productId);

    Result<ReviewCountVo> selectContentByProductId(Integer productId);
    Result<List<ProductReview>> selectContentsByProductId(Integer productId);

    Result<ProductReview> insertProductOrder(ProductOrder productOrder);
}
